/ .. / / -> download
<?xml version='1.0'?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:fo="http://www.w3.org/1999/XSL/Format">
	<!-- Allow the title to publish in dmrefs in dmodule -->
	<!-- added column title attribute set -->
	
	<xsl:attribute-set name="centerhead1">
		<xsl:attribute name="font-size">14pt</xsl:attribute>
		<xsl:attribute name="font-weight">bold</xsl:attribute>
		<xsl:attribute name="text-align">center</xsl:attribute>
		<xsl:attribute name="space-after">3pt</xsl:attribute>
		<xsl:attribute name="space-before">13pt</xsl:attribute>
		<xsl:attribute name="keep-with-next">always</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="centerhead2">
		<xsl:attribute name="font-size">14pt</xsl:attribute>
		<xsl:attribute name="font-weight">bold</xsl:attribute>
		<xsl:attribute name="font-style">italic</xsl:attribute>
		<xsl:attribute name="text-align">center</xsl:attribute>
		<xsl:attribute name="space-after">3pt</xsl:attribute>
		<xsl:attribute name="space-before">13pt</xsl:attribute>
		<xsl:attribute name="keep-with-next">always</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="sidehead0">
		<xsl:attribute name="font-size">14pt</xsl:attribute>
		<xsl:attribute name="font-weight">bold</xsl:attribute>
		<xsl:attribute name="text-align">left</xsl:attribute>
		<xsl:attribute name="space-after">3pt</xsl:attribute>
		<xsl:attribute name="space-before">13pt</xsl:attribute>
		<xsl:attribute name="keep-with-next">always</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="sidehead1">
		<xsl:attribute name="font-size">14pt</xsl:attribute>
		<xsl:attribute name="font-weight">bold</xsl:attribute>
		<xsl:attribute name="text-align">left</xsl:attribute>
		<xsl:attribute name="space-before">13pt</xsl:attribute>
		<xsl:attribute name="keep-with-next">always</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="sidehead2">		
		<xsl:attribute name="font-size">12pt</xsl:attribute>
		<xsl:attribute name="font-weight">bold</xsl:attribute>
		<xsl:attribute name="text-align">left</xsl:attribute>
		<xsl:attribute name="space-before">13pt</xsl:attribute>
		<xsl:attribute name="keep-with-next">always</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="sidehead3">
		<xsl:attribute name="font-size">10pt</xsl:attribute>
		<xsl:attribute name="font-weight">bold</xsl:attribute>
		<xsl:attribute name="text-align">left</xsl:attribute>
		<xsl:attribute name="space-before">13pt</xsl:attribute>
		<xsl:attribute name="keep-with-next">always</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="sidehead4">
		<xsl:attribute name="font-size">10pt</xsl:attribute>
		<xsl:attribute name="text-align">left</xsl:attribute>
		<xsl:attribute name="space-before">13pt</xsl:attribute>
		<xsl:attribute name="keep-with-next">always</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="sidehead5">
		<xsl:attribute name="font-size">10pt</xsl:attribute>
		<xsl:attribute name="font-style">italic</xsl:attribute>
		<xsl:attribute name="text-align">left</xsl:attribute>
		<xsl:attribute name="keep-with-next">always</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="standard.table.setup">
		<xsl:attribute name="width">7.0in</xsl:attribute>
		<xsl:attribute name="border-bottom">solid</xsl:attribute>
		<xsl:attribute name="border-bottom-width">0.25pt</xsl:attribute>
		<xsl:attribute name="border-top">solid</xsl:attribute> 
		<xsl:attribute name="border-top-width">0.25pt</xsl:attribute>
		<xsl:attribute name="font-size">10pt</xsl:attribute> 
		<xsl:attribute name="margin-bottom">10pt</xsl:attribute> 
		<xsl:attribute name="margin-top">8pt</xsl:attribute> 
		<xsl:attribute name="padding-bottom">3pt</xsl:attribute> 
		<xsl:attribute name="padding-left">3pt</xsl:attribute>
		<xsl:attribute name="relative-position">static</xsl:attribute> 
		<xsl:attribute name="space-after.maximum">12pt</xsl:attribute>
		<xsl:attribute name="space-after.minimum">12pt</xsl:attribute> 
		<xsl:attribute name="space-after.optimum">12pt</xsl:attribute>
		<xsl:attribute name="space-before.maximum">14pt</xsl:attribute> 
		<xsl:attribute name="space-before.minimum">12pt</xsl:attribute>
		<xsl:attribute name="space-before.optimum">12pt</xsl:attribute> 
		<xsl:attribute name="span">all</xsl:attribute> 
		<xsl:attribute name="table-layout">fixed</xsl:attribute>
		<xsl:attribute name="table-omit-header-at-break">false</xsl:attribute> 
		<xsl:attribute name="text-align">left</xsl:attribute>
		<xsl:attribute name="white-space-treatment">preserve</xsl:attribute>
		<xsl:attribute name="border-left-style">solid</xsl:attribute>
		<xsl:attribute name="border-left-width">1pt</xsl:attribute>
		<xsl:attribute name="border-left-color">black</xsl:attribute>
		<xsl:attribute name="border-right-style">solid</xsl:attribute>
		<xsl:attribute name="border-right-width">1pt</xsl:attribute>
		<xsl:attribute name="border-right-color">black</xsl:attribute>
	</xsl:attribute-set>
	<xsl:attribute-set name="standard.table.setup.no.border">
		<xsl:attribute name="width">7.0in</xsl:attribute>
		<xsl:attribute name="font-size">10pt</xsl:attribute> 
		<xsl:attribute name="margin-bottom">10pt</xsl:attribute> 
		<xsl:attribute name="margin-top">8pt</xsl:attribute> 
		<xsl:attribute name="padding-bottom">3pt</xsl:attribute> 
		<xsl:attribute name="padding-left">3pt</xsl:attribute>
		<xsl:attribute name="relative-position">static</xsl:attribute> 
		<xsl:attribute name="space-after.maximum">12pt</xsl:attribute>
		<xsl:attribute name="space-after.minimum">12pt</xsl:attribute> 
		<xsl:attribute name="space-after.optimum">12pt</xsl:attribute>
		<xsl:attribute name="space-before.maximum">14pt</xsl:attribute> 
		<xsl:attribute name="space-before.minimum">12pt</xsl:attribute>
		<xsl:attribute name="space-before.optimum">12pt</xsl:attribute> 
		<xsl:attribute name="span">all</xsl:attribute> 
		<xsl:attribute name="table-layout">fixed</xsl:attribute>
		<xsl:attribute name="table-omit-header-at-break">false</xsl:attribute> 
		<xsl:attribute name="text-align">left</xsl:attribute>
		<xsl:attribute name="white-space-treatment">preserve</xsl:attribute>
	</xsl:attribute-set>

<!--add column title attribute set -->
	<xsl:attribute-set name="column-title">
		<xsl:attribute name="font-weight">bold</xsl:attribute>
		<xsl:attribute name="text-transform">uppercase</xsl:attribute>		
	</xsl:attribute-set>
	
	<xsl:template match="firstVerification | pubMedia | qualityAssurance | reasonForUpdate | secondVerification | supersedure | unverified">
		<xsl:apply-templates/>
	</xsl:template>

	<xsl:template match="dmCode">
		<xsl:value-of select="@modelIdentCode"/>
		<xsl:text>-</xsl:text>
		<xsl:value-of select="@systemDiffCode"/>
		<xsl:text>-</xsl:text>
		<xsl:value-of select="@systemCode"/>
		<xsl:text>-</xsl:text>
		<xsl:value-of select="@subSystemCode"/>
		<xsl:value-of select="@subSubSystemCode"/>
		<xsl:text>-</xsl:text>
		<xsl:value-of select="@assyCode"/>
		<xsl:text>-</xsl:text>
		<xsl:value-of select="@disassyCode"/>
		<xsl:value-of select="@disassyCodeVariant"/>
		<xsl:text>-</xsl:text>
		<xsl:value-of select="@infoCode"/>
		<xsl:value-of select="@infoCodeVariant"/>
		<xsl:text>-</xsl:text>
		<xsl:value-of select="@itemLocationCode"/>
	</xsl:template>

	<xsl:template match="dmIdent">
		<xsl:apply-templates/>
	</xsl:template>

	<xsl:template match="dmAddress">
		<xsl:apply-templates/>
	</xsl:template>

	<xsl:template match="identNumber">
		<xsl:apply-templates/>
	</xsl:template>

	<xsl:template match="manufacturerCode">
		<xsl:choose>
			<xsl:when test="ancestor::faultReporting">
				<fo:block>
					<xsl:apply-templates/>
				</fo:block>
			</xsl:when>
			<xsl:otherwise>
				<xsl:apply-templates/>
			</xsl:otherwise>
		</xsl:choose>
		
	</xsl:template>

	<xsl:template match="partAndSerialNumber">
		<xsl:choose>
			<xsl:when test="ancestor::faultReporting">
				<fo:block>
					<xsl:apply-templates/>
				</fo:block>
			</xsl:when>
			<xsl:otherwise>
				<xsl:apply-templates/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<xsl:template match="partNumber">
		<xsl:apply-templates/>
	</xsl:template>

	<xsl:template match="serialNumber">
		<xsl:value-of select="@serialNumberValue"/>
		<xsl:apply-templates/>
	</xsl:template>

	
	<!--MIL-STD-3031A, para 5.21.1.9:
	The element <dmTitle> shall be used and shall contain the title of the referenced data module.-->
	<xsl:template match="dmTitle">
		<xsl:apply-templates/>
	</xsl:template>
	
	<!--MIL-STD-3031A, Table LI:
	The data module title shall be derived from the element <techName> and the element <infoName> 
	separated by a hyphen [-] surrounded by blanks. They shall be presented together as centerhead No. 1. -->
	<xsl:template match="techName">
		<xsl:choose>
			<xsl:when test="ancestor::dmRefAddressItems">
				<xsl:if test="ancestor::dmodule and ancestor::content">
					<xsl:apply-templates/>
					<xsl:text> - </xsl:text>
				</xsl:if>
				</xsl:when>
			<xsl:otherwise>
				<xsl:apply-templates/>
				<xsl:text> - </xsl:text>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	

	<!-- MIL-STD-3031A, Table LI:
	The data module title shall be derived from the element <techName> and the element <infoName> 
	separated by a hyphen [-] surrounded by blanks. They shall be presented together as centerhead No. 1. -->
	<xsl:template match="infoName">
		<xsl:choose>
			<xsl:when test="ancestor::dmRefAddressItems">
				<xsl:if test="ancestor::dmodule and ancestor::content">
					<xsl:apply-templates/>
				</xsl:if>
			</xsl:when>
			<xsl:otherwise>
				<xsl:apply-templates/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<xsl:template match="acronym">
		<xsl:apply-templates/>
	</xsl:template>

	<xsl:template match="acronymDefinition"> </xsl:template>

	<xsl:template match="acronym/acronymTerm">
		<xsl:value-of select="following-sibling::acronymDefinition"/>
		<xsl:text> (</xsl:text>
		<xsl:apply-templates/>
		<xsl:text>)</xsl:text>
	</xsl:template>

	<xsl:template match="acronymTerm">
		<xsl:apply-templates/>
		<xsl:text> </xsl:text>
	</xsl:template>

	<xsl:template match="verbatimText" xml:space="preserve">
		<fo:block font-family="monospace" suppress-at-line-break="observe" linefeed-treatment="preserve">
			<xsl:apply-templates/>
			<xsl:text> </xsl:text>
		</fo:block>
	</xsl:template>
	
	<xsl:template
		match="levelledPara/circuitBreakerDescr | levelledPara//circuitBreakerDescrGroup | levelledPara//circuitBreakerDescrSubGroup | levelledPara//circuitBreakerLocation">
		<xsl:apply-templates/>
	</xsl:template>

	<xsl:template match="symbol">
		<fo:inline-container>
			<fo:block>
				<xsl:call-template name="do-graphic"/>
			</fo:block>
		</fo:inline-container>
	</xsl:template>

	<xsl:template match="change">
		<xsl:apply-templates/>
	</xsl:template>

	<xsl:template match="commonInfo">
		<fo:block xsl:use-attribute-sets="centerhead2">
			<xsl:text>General information</xsl:text>
		</fo:block>
		<xsl:apply-templates/>
	</xsl:template>
	
	<xsl:template match="commonInfoDescrPara/title">
		<fo:block xsl:use-attribute-sets="sidehead0">
			<xsl:apply-templates/>
		</fo:block>
	</xsl:template>
</xsl:stylesheet>


/ gopher://khzae.net/0/s1000d/links/projects/3031/Army S1000D Stylesheets/FO-3031-A00-USARMY-COMMON_001-00_EN-US.xsl
Styles: Light Dark Classic